home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
-
- <!--
- The contents of this file are subject to the Netscape Public
- License Version 1.1 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of
- the License at http://www.mozilla.org/NPL/
-
- Software distributed under the License is distributed on an "AS
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- The Original Code is Mozilla Communicator client code, released
- March 31, 1998.
-
- The Initial Developer of the Original Code is Netscape
- Communications Corporation. Portions created by Netscape are
- Copyright (C) 1998-1999 Netscape Communications Corporation. All
- Rights Reserved.
-
- Contributor(s):
- -->
-
- <!DOCTYPE overlay SYSTEM "chrome://cookie/locale/cookieNavigatorOverlay.dtd">
-
- <overlay id="cookieNavigatorOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <script type="application/x-javascript" src="chrome://cookie/content/cookieOverlay.js"/>
- <script type="application/x-javascript">
- <![CDATA[
- /******* THE FOLLOWING IS FOR THE TASKMENU OVERLAY *******/
-
- // both are necessary. popupmanager is just a special case
- // of permissionmanager but does extra work on add/remove
- const nsIPermissionManager = Components.interfaces.nsIPermissionManager;
- const nsICookiePermission = Components.interfaces.nsICookiePermission;
- var permissionmanager;
- var popupmanager;
-
- // determine which items we need to hide or disable from the task menu
- function CheckForVisibility()
- {
- // obtain access to permissionmanager and popupmanager
- // (popup manager is a wrapper around permission that does extra work)
- permissionmanager =
- Components.classes["@mozilla.org/permissionmanager;1"]
- .getService(Components.interfaces.nsIPermissionManager);
- popupmanager =
- Components.classes["@mozilla.org/PopupWindowManager;1"]
- .getService(Components.interfaces.nsIPopupWindowManager);
- if (!("_content" in window) || !window._content) {
- // this occurs if doing tasks->privacy->cookie->block from java console
- return;
- }
-
- // determine current state (blocked or unblocked) and hide appropriate menu item
- var uri = getBrowser().currentURI;
- setRadioButton("UseCookiesDefault", uri, nsIPermissionManager.UNKNOWN_ACTION, "cookie");
- setRadioButton("AllowCookies", uri, nsIPermissionManager.ALLOW_ACTION, "cookie");
- setRadioButton("AllowSessionCookies", uri, nsICookiePermission.ACCESS_SESSION, "cookie");
- setRadioButton("BlockCookies", uri, nsIPermissionManager.DENY_ACTION, "cookie");
- setRadioButton("UseImagesDefault", uri, nsIPermissionManager.UNKNOWN_ACTION, "image");
- setRadioButton("AllowImages", uri, nsIPermissionManager.ALLOW_ACTION, "image");
- setRadioButton("BlockImages", uri, nsIPermissionManager.DENY_ACTION, "image");
-
- SetPopupMenuEnabledState();
-
- var pref;
- pref = Components.classes['@mozilla.org/preferences-service;1'];
- pref = pref.getService();
- pref = pref.QueryInterface(Components.interfaces.nsIPrefBranch);
- }
-
- function SetPopupMenuEnabledState() {
- var blocked = nsIPermissionManager.UNKNOWN_ACTION;
- var policy = pref.getBoolPref("dom.disable_open_during_load");
-
- blocked = permissionmanager.testPermission(getBrowser().currentURI, "popup");
-
- document.getElementById("AboutPopups").hidden = policy;
- document.getElementById("ManagePopups").hidden = !policy;
-
- if (policy) {
- enableElement("AllowPopups", blocked != nsIPermissionManager.ALLOW_ACTION);
- return;
- }
-
- enableElement("AllowPopups", false);
- }
-
- function setRadioButton(elementID, uri, perm, type) {
- var enable = (perm == permissionmanager.testPermission(uri, type));
- document.getElementById(elementID).setAttribute("checked", enable);
- }
-
- function enableElement(elementID, enable) {
- var element = document.getElementById(elementID);
- if (enable)
- element.removeAttribute("disabled");
- else
- element.setAttribute("disabled", "true");
- }
-
- // perform a Cookie or Image action
- function CookieImageAction(action) {
-
- if (!("_content" in window) || !window._content) {
- // this occurs if doing tasks->privacy->cookie->block from java console
- return;
- }
- var element;
- var uri = getBrowser().currentURI;
-
- switch (action) {
- case "cookieAllow":
- if (permissionmanager.testPermission(uri, "cookie") == nsIPermissionManager.ALLOW_ACTION)
- return;
- permissionmanager.add(uri, "cookie", nsIPermissionManager.ALLOW_ACTION);
- element = document.getElementById("AllowCookies");
- break;
- case "cookieSession":
- if (permissionmanager.testPermission(uri, "cookie") == nsICookiePermission.ACCESS_SESSION)
- return;
- permissionmanager.add(uri, "cookie", nsICookiePermission.ACCESS_SESSION);
- element = document.getElementById("AllowSessionCookies");
- break;
- case "cookieDefault":
- if (permissionmanager.testPermission(uri, "cookie") == nsIPermissionManager.UNKNOWN_ACTION)
- return;
- permissionmanager.remove(uri.host, "cookie");
- element = document.getElementById("UseCookiesDefault");
- break;
- case "cookieBlock":
- if (permissionmanager.testPermission(uri, "cookie") == nsIPermissionManager.DENY_ACTION)
- return;
- permissionmanager.add(uri, "cookie", nsIPermissionManager.DENY_ACTION);
- element = document.getElementById("BlockCookies");
- break;
- case "imageAllow":
- if (permissionmanager.testPermission(uri, "image") == nsIPermissionManager.ALLOW_ACTION)
- return;
- permissionmanager.add(uri, "image", nsIPermissionManager.ALLOW_ACTION);
- element = document.getElementById("AllowImages");
- break;
- case "imageDefault":
- if (permissionmanager.testPermission(uri, "image") == nsIPermissionManager.UNKNOWN_ACTION)
- return;
- permissionmanager.remove(uri.host, "image");
- element = document.getElementById("UseImagesDefault");
- break;
- case "imageBlock":
- if (permissionmanager.testPermission(uri, "image") == nsIPermissionManager.DENY_ACTION)
- return;
- permissionmanager.add(uri, "image", nsIPermissionManager.DENY_ACTION);
- element = document.getElementById("BlockImages");
- break;
- default:
- return;
- }
- var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
- .getService(Components.interfaces.nsIPromptService);
- promptService.alert(window,element.getAttribute("title"), element.getAttribute("msg"));
- }
-
- function OpenAboutPopups() {
- window.openDialog("chrome://communicator/content/aboutPopups.xul", "",
- "chrome,centerscreen,dependent",
- false);
- }
-
- function OpenManagePopups(host) {
- window.openDialog("chrome://communicator/content/popupManager.xul", "",
- "chrome,resizable=yes",
- host);
- }
-
- ]]>
- </script>
-
- <!-- tasksOverlay menu items -->
- <menupopup id="taskPopup" onpopupshowing="CheckForVisibility()">
- <menu insertbefore="navBeginGlobalItems"
- label="&cookieCookieManager.label;"
- accesskey="&cookieCookieManager.accesskey;">
- <menupopup>
- <menuitem id="BlockCookies" label="&cookieBlockCookiesCmd.label;"
- accesskey="&cookieBlockCookiesCmd.accesskey;"
- title="&cookieMessageTitle.label;"
- msg="&cookieBlockCookiesMsg.label;"
- type="radio" name="cookies"
- oncommand="CookieImageAction('cookieBlock');"/>
- <menuitem id="UseCookiesDefault" label="&cookieCookiesDefaultCmd.label;"
- accesskey="&cookieCookiesDefaultCmd.accesskey;"
- title="&cookieMessageTitle.label;"
- msg="&cookieCookiesDefaultMsg.label;"
- type="radio" name="cookies" checked="true"
- oncommand="CookieImageAction('cookieDefault');"/>
- <menuitem id="AllowSessionCookies" label="&cookieAllowSessionCookiesCmd.label;"
- title="&cookieMessageTitle.label;"
- accesskey="&cookieAllowSessionCookiesCmd.accesskey;"
- msg="&cookieAllowSessionCookiesMsg.label;"
- type="radio" name="cookies"
- oncommand="CookieImageAction('cookieSession');"/>
- <menuitem id="AllowCookies" label="&cookieAllowCookiesCmd.label;"
- title="&cookieMessageTitle.label;"
- accesskey="&cookieAllowCookiesCmd.accesskey;"
- msg="&cookieAllowCookiesMsg.label;"
- type="radio" name="cookies"
- oncommand="CookieImageAction('cookieAllow');"/>
- <menuseparator/>
- <menuitem label="&cookieDisplayCookiesCmd.label;"
- accesskey="&cookieDisplayCookiesCmd.accesskey;"
- oncommand="viewCookies();"/>
- </menupopup>
- </menu>
- <menu label="&cookieImageManager.label;"
- accesskey="&cookieImageManager.accesskey;"
- id="image"
- insertbefore="navBeginGlobalItems">
- <menupopup>
- <menuitem id="BlockImages" label="&cookieBlockImagesCmd.label;"
- accesskey="&cookieBlockImagesCmd.accesskey;"
- title="&cookieImageMessageTitle.label;"
- msg="&cookieBlockImagesMsg.label;"
- type="radio" name="images"
- oncommand="CookieImageAction('imageBlock');"/>
- <menuitem id="UseImagesDefault" label="&cookieImagesDefaultCmd.label;"
- accesskey="&cookieImagesDefaultCmd.accesskey;"
- title="&cookieImageMessageTitle.label;"
- msg="&cookieImagesDefaultMsg.label;"
- type="radio" name="images"
- oncommand="CookieImageAction('imageDefault');"/>
- <menuitem id="AllowImages" label="&cookieAllowImagesCmd.label;"
- accesskey="&cookieAllowImagesCmd.accesskey;"
- title="&cookieImageMessageTitle.label;"
- msg="&cookieAllowImagesMsg.label;"
- type="radio" name="images"
- oncommand="CookieImageAction('imageAllow');"/>
- <menuseparator/>
- <menuitem label="&cookieDisplayImagesCmd.label;"
- accesskey="&cookieDisplayImagesCmd.accesskey;"
- oncommand="viewImages();"/>
- </menupopup>
- </menu>
- <menu label="&cookiePopupManager.label;"
- accesskey="&cookiePopupManager.accesskey;"
- id="popup"
- insertbefore="navBeginGlobalItems">
- <menupopup>
- <menuitem id="AllowPopups" label="&cookieAllowPopupsCmd.label;"
- accesskey="&cookieAllowPopupsCmd.accesskey;"
- oncommand="OpenManagePopups(getBrowser().currentURI.host);"/>
- <menuitem id="AboutPopups" label="&cookieAboutPopupBlocking.label;"
- accesskey="&cookieAboutPopupBlocking.accesskey;"
- oncommand="OpenAboutPopups();"
- hidden="true"/>
- <menuitem id="ManagePopups" label="&cookieManagePopups.label;"
- accesskey="&cookieManagePopups.accesskey;"
- oncommand="OpenManagePopups('');"
- hidden="true"/>
- </menupopup>
- </menu>
- </menupopup>
- </overlay>
-